package model;

/**
 * @author  megea
 */
public abstract class Source extends Recognizable{


    public Source(SensedValue value, Integer id) {
        super(id);
        this.value = value;
    }

    /**
     * @uml.property  name="value"
     * @uml.associationEnd
     */
    protected SensedValue value;

    /**
     * @return
     * @uml.property  name="value"
     */
    public abstract SensedValue getValue();

    public abstract Double getMaxValue();

    public abstract Double getMinValue();

    /**
     * @uml.property  name="sensor"
     * @uml.associationEnd  inverse="source:model.Sensor"
     */
    private Sensor sensor;

    /**
     * Getter of the property <tt>sensor</tt>
     * @return  Returns the sensor.
     * @uml.property  name="sensor"
     */
    public Sensor getSensor() {
        return sensor;
    }

    /**
     * Setter of the property <tt>sensor</tt>
     * @param sensor  The sensor to set.
     * @uml.property  name="sensor"
     */
    public void setSensor(Sensor sensor) {
        this.sensor = sensor;
    }

}
